home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
DTP
/
DTP_TEX
/
H220.ZIP
/
WP2X110.ZIP
/
WP2X.CAT
< prev
next >
Wrap
Text File
|
1991-09-01
|
20KB
|
522 lines
WP2X(1) USER COMMANDS WP2X(1)
NAME
wp2x - A WordPerfect 4.2 to whatever converter
SYNOPSIS
wp2x [ -s ] [ -n_b_l_i_p ] configfile wpfile
DESCRIPTION
_W_p_2_x is intended to convert _s_i_m_p_l_e files stored in WordPer-
fect 4.2 format into any other document processing language
that uses plain text files. Examples include TeX, LaTeX,
troff, GML, and SCRIPT.
_W_p_2_x reads a configuration file and a WordPerfect 4.2 input
file, and uses the information in them to produce an output
file, which is sent to stdout. If the configuration file
cannot be found, a suffix of ._c_f_g is appended. the current
directory is searched, as well as the directory
/_u_s_r/_l_o_c_a_l/_l_i_b/_w_p_2_x , and the directories specified by the
environment variables _P_A_T_H , _D_P_A_T_H , and _W_P_2_X_L_I_B .
The following codes are processed by _w_p_2_x:
Hard returns.
Sort returns.
Hyphens of all ages.
Hard page breaks.
Margin settings.
Line spacing.
Tab characters.
Boldface, underline, redline.
Indented paragraphs. (The "Indent" code.)
Footnotes and endnotes.
Footnote numbers inside footnotes.
Extended IBM codes.
Superscript, subscript, overstrike.
Hyphenation on/off.
Justification on/off.
Widow/Orphan control.
Hyphenation zone.
Decimal alignment character.
Page centering.
Page number position.
Headers and footers.
Single-page suppression of header/footer information.
Lots of other stuff.
The following codes are recognized, but not translated.
Page number column
Underline mode
Column definitions
Footnote attributes
Automatic paragraph numbering
Marked text
Invisible text
These codes are not translated because documents that
require these codes typically would require significant
hand-editing. Hence, there's no point in trying to emulate
something you're going to delete anyway. (Remember, _w_p_2_x is
not intended to be used as an automated conversion program.
Rather, it is intended to be used as a single step in the
document conversion process, which gets most of the the
grunt work of conversion done and out of the way, so that
you can concentrate your efforts on converting the trickier
parts of the document. The object of the game is to produce
a readable conversion, rather than a perfect conversion.)
As the program runs, a dot is printed to _s_t_d_e_r_r for every
1024 characters converted. This can be suppressed with the
-s switch, and the interval between dots can be changed with
the -n switch.
OPTIONS
-s Suppresses all non-error output to _s_t_d_e_r_r, including
the _t_y_p_e_o_u_t banner, the progress dots, and warnings
about undefined expansions.
-n_b_l_i_p
Every _b_l_i_p tokens, a dot is emitted to _s_t_d_e_r_r, unless
the -s switch is given. The value _b_l_i_p must appear
imediately following the -n without an intervening
space. If no -n switch is supplied, then a value of
1024 is assumed.
USAGE
The configuration file controls how the file is converted
from WordPerfect 4.2 format. Each line of the configuration
file is of the form
identifier="list of codes"
where the list of codes is a string which will be placed in
the output stream whenever the corresponding WordPerfect
code is encountered. Standard C-style backslash-escape
sequences are recognized, as well as \xFF for hex values.
You do not have to backslash-protect a newline. Some iden-
tifiers supply replacable parameters, which can be interpo-
lated as follows:
%1 interpolate first parameter as a decimal integer.
%2 interpolate second parameter as a decimal integer.
%c interpolate first parameter as an ASCII character.
%\n interpolate a newline if the most-recently-output char-
acter was not already a newline. (The _\_n can be either
the C-style escape sequence, or an actual newline char-
acter.) Use this if the expansion must take place at
the beginning of a line. (For example, _t_r_o_f_f control
characters must appear as the first character in the
line in order to take effect.) This sequence is mean-
ingful only at the beginning of the string; if it
appears elsewhere, it is flagged as erroneous.
%% interpolate a percent-sign.
A percent sign followed by any other character is considered
an error. It is also an error to interpolate a parameter
that is not applicable to the identifier being defined. You
may interpolate the parameters as many times as, and in
whatever order, you wish. (With the exception of the %_\_n
code.)
Here follows a list of the accepted identifiers. In the
discussion, `%1' represents the first parameter, and `%2'
the second. Remember that the character version of %1 is
available as `%c'.
BEGIN Expanded at the beginning of the file.
END Expanded at the end of the file.
COMMENT Expanded when wp2x needs to insert a comment
into the output. The comment is passed as
%s.
PageNo Insert current page number
RomanPage Set page number to %1, and set roman-numeral
mode
ArabicPage Set page number to %1, and set arabic-numeral
mode
Tab What to do when you see a tab character.
BeginTabs Emitted when tab settings are about to
change. The BeginTabs code should delete all
existing tabs and prepare for new tab set-
tings to start. All tab values are given in
columns measured from the physical left edge
of the paper. (Not from the left margin.)
SetTab Set a normal (left-justified) tabstop at
column %1.
SetTabCenter Set a centered tabstop at column %1.
SetTabRight Set a right-justified tabstop at column %1.
SetTabDecimal Set a decimal tab at column %1.
EndTabs Finish the setting of tabstops.
For example, if the WordPerfect file contains a code that
says `Set new tabstops as follows: Regular tab at column
15, a centered tab at column 40, a right-justified tab at
column 59, and a regular tab at column 60', then the follow-
ing expansions are made in succession:
BeginTabs
SetTab(15)
SetTabCenter(40)
SetTabright(59)
SetTab(60)
EndTabs
HSpace
Hard (nonbreakable) space.
HPg Hard page break.
CondEOP
Force a new page if fewer than %1 half-lines remain on
current page.
HRt Hard return.
SRt Soft return.
- Breakable hyphen.
-- Breakable hyphen, appearing at the end of a line.
= Non-breakable hyphen.
\- Discretionary hyphen.
\-- Discretionary hyphen, appearing at the end of a line.
Marg Set left margin at %1 characters and right margin at %2
characters.
TopMargin
Set top margin to %1 lines.
PageLength
Set page length to %1 lines.
SS Single spacing.
DS Double spacing.
1.5S One-and-a-half spacing.
TS Triple spacing.
LS Other line spacing. %1 is twice the desired spacing.
(For example, a request for 2.5-spacing sets %1=5.)
LPI Set %1 lines per inch (%1 is either 6 or 8)
Bold Begin boldface
bold End boldface
Und Begin underline
und End underline
Red Begin redline
red End redline
Strike
Begin strikeout
strike
End strikeout
Rev Begin reverse video
rev End reverse video
Over Begin overstrike
over End overstrike
Sup Begin superscript
sup End superscript
Sub Begin subscript
sub End subscript
UpHalfLine
Advance printer up 1/2 line
DownHalfLine
Advance printer down 1/2 line
AdvanceToHalfLine
Advance to absolute vertical position. %1 is what
WordPerfect thinks the current vertical page position
is, in half-lines. %2 is the desired position, also in
half-lines.
Indent
Expanded when an "Indent" code appears.
DIndent
Expanded when a "left-and-right-indent" code appears.
indent
Expanded at the end of an indented paragraph.
MarginRelease
Margin release. %1 is the number of characters to move
left.
Center
Center current line
center
End centering
CenterHere
Center line around current column
centerhere
End centering
Align
Begin alignment
align
End alignment
AlignChar
Set alignment character
FlushRight
Begin flush right
flushright
End flush right
Math Begin math mode
math End math mode
MathCalc
Begin math calc mode
MathCalcColumn
Math calc column
SubTtl
Do subtotal
IsSubTtl
Subtotal entry
Ttl Do total
IsTtl
Total entry
GrandTtl
Do grand total
Col Begin column mode
col End column mode
Fn Expanded at the beginning of a footnote.
fn Expanded at the end of a footnote.
En Expanded at the beginning of an endnote.
en Expanded at the end of an endnote.
SetFn#
Set the number for the next footnote to %1.
FNote#
Footnote number.
ENote#
Endnote number.
TableMarker
Insert table of contents here
Hyph Enable hyphenation.
hyph Disable hyphenation.
Just Enable justification.
just Disable justification.
Wid Enable widow/orphan protection.
wid Disable widow/orphan protection.
HZone
The hyphenation zone. %1 and %2 are the two magical
values that WordPerfect uses to control hyphenation.
DAlign
Set the decimal alignment character to that whose ASCII
value is %1. (`%c' is useful here.)
Header
Begin header text
header
End header text
Footer
Begin footer text
footer
End footer text
Supp Suppress page number/header/footer information for one
page. %1 argument is a bit field which describes what
sort of suppression is desired. Here's what the bits
mean:
1 = all
2 = page number
4 = page numbers moved to bottom
8 = all headers
16 = header a
32 = header b
64 = footer a
128 = footer b
CtrPg
Center page vertically
SetFont
Change pitch or font. %1 is the desired pitch. (Nega-
tive means proportionally-spaced.) %2 is the font
number.
SetBin
Select paper bin to %1 = 0, 1, ...
PN0 No page numbering.
PN1 Page number in top left.
PN2 Page number in top center.
PN3 Page number in top right.
PN4 Page number on top outside corners (even/odd).
PN5 Page number in lower left.
PN6 Page number in bottom center.
PN7 Page number in lower right.
PN8 Page number on bottom outside corners (even/odd).
If no expansion is supplied for an identifier, then nothing
is emitted to _s_t_d_o_u_t, but a warning message is sent to
_s_t_d_e_r_r. This warning message will appear at most once per
identifier, and it can be suppressed completely by the -s
option.
The special identifier _t_y_p_e_o_u_t causes its replacement text
to be displayed on the screen every time the configuration
file is read. This is useful for identification messages,
or reminders to the user.
A special identifier is any character enclosed in single
quotation marks, which represent themselves. For example,
'A'="{\\alpha}"
causes the string "{\alpha}" to be emitted when an A is
encountered. This could also have been written as
'\xE0'="{\\alpha}"
if the character A has ASCII value 0xE0. (Which is true for
the IBM PC encoding.)
If no definition exists for a particular special character,
it is transmitted undisturbed. If a special character is
encountered from the upper half of the ASCII character set,
and if it has no definition, then a warning message is also
emitted. (Which can be suppressed with the -s option.)
Lines beginning with the # character are comments.
FILES
The sample configuration files in /_u_s_r/_l_o_c_a_l/_l_i_b/_w_p_2_x give
you some sort of idea what a `production quality' configura-
tion file might look like. They are not intended to be used
as-is, but rather are meant to be modified to suit your par-
ticular needs.
SEE ALSO
_t_e_x(1), _l_a_t_e_x(1), _n_r_o_f_f(1), _t_r_o_f_f(1).
DIAGNOSTICS
Error: Cannot open X (reason)
The file X could not be opened, for the indicated rea-
son.
Error: Expecting a hex digit
Inside a string, you typed the characters `\x', but the
next character was not a valid hex digit.
Error: string pool overflow
The configuration file contained too many strings.
Increase the value of POOL_SIZE and recompile.
Error: Unknown identifier X
The word X was encountered in the configuration file
when _w_p_2_x expected a token identifier like `HRt'. Most
likely, you either misspelled it, or you got your quo-
tation marks out of sync.
Error: Identifier not followed by = sign
After an identifier must come an equals-sign.
Error: Quotation mark expected
After the equals-sign must come a quotation mark.
Error: X: `%\n' not at start of expansion
The expansion for the identifier X contained the
indicated sequence of characters somewhere other than
the beginning of the string. The `%\n' interpolation
code is meaningful only at the beginning of a string.
Error: X: invalid escape `%x'
The expansion for the identifier X contained an invalid
escape. Either you used `%1', `%2' or `%c' when the
identifier X does not supply that parameter, or you
meant for a genuine percent sign to be output, in which
case you should put `%%' in the expansion.
Error: Invalid character identifier
Character identifiers can only be one character long
(after backslash interpretation).
Warning: Expected XX but received YY.
The program expected the next byte from the WP file to
be XX, but the byte YY was encountered instead. This
means either that your WP file is damaged, or that the
program is seriously confused. (Or both.) The program
will pretend that the byte in the file was indeed XX,
which may lead to synchronization errors later on.
Warning: No expansion for X
The WP file contained the token X, but the configura-
tion file did not contain any expansion text for it. A
null expansion was assumed.
Warning: No expansion for XX (c)
The WP file contained the character c (hex code XX),
but the configuration file did not contain any expan-
sion text for it. The character was emitted unaltered.
Beware that this may give your text formatter indiges-
tion if it does not handle eight-bit characters.
Warning: X code not supported
The file being converted uses a code which _w_p_2_x does
not know how to convert. A comment is placed in the
output file in its place. If you ever encounter a
`WPCorp reserved' or a `WPCorp undefined' code, the
author would appreciate hearing from you.
Internal error: Invalid escape, %x
While processing text, _w_p_2_x noticed that you used an
invalid escape. Nothing is emitted as the escape text.
(The internal-ness is that this error is supposed to be
caught at the time the configuration file is read.)
BUGS
Naive configuration files will fail if your WP file doesn't
nest its tags properly. A typical case is
[Center][B]Hello[center]
[Center]There[b][center]
to produce a centered boldface `Hello'. If you use the
naive encoding of
Center="\\centerline{"
center="}\n"
Bold="{\\bf "
bold="}"
then this will expand to
\centerline{{\bf Hello}
\centerline{There}}
WordPerfect has no clean concept of grouping; it lets you
change fonts at any time and let those changes propagate
outside the current environment. (With the exception of
headers, footers, footnotes, and endnotes.)
Now sure, you could write complicated configuration strings
to try to handle this `properly', but it'd probably not be
worth the trouble. After all, the purpose is not to perform
a perfect conversion, but rather to produce a _r_e_a_d_a_b_l_e
conversion, which can then be massaged by hand to produce a
perfect manuscript.
Another potential problem is combined attributes, like bold-
face underline. Under a naive configuration,
[B]Boldface [U]Underlined boldface[b] Underlined[u] normal.
comes out as
{\bf Boldface {\it Underlined boldface} Underlined\/} normal.
which is wrong for two reasons. One is the nesting problem
discussed above. The other is that TeX font attributes do
not combine.
Similar problems exist for other document preparation sys-
tems. So be careful.
AUTHOR
Raymond Chen (raymond@math.berkeley.edu)